/**
 * 
 */
Ext.ns("applySearch");
applySearch.init = function() {
	applySearch.big_Id;// 定义选定的大类型的序列号
	applySearch.big_Name;// 定义选定的大类型名称
	applySearch.small_Id;// 定义选定的小类型的序列号
	applySearch.small_Name;// 定义选定的大类型名称
	applySearch.exam_Id;
	applySearch.positionQ_Id;
	applySearch.exam_Name;
	applySearch.startTime;
	applySearch.endTime;
	applySearch.menuClick;
	applySearch.unit_Id;
	applySearch.cm = new Ext.grid.ColumnModel([ new Ext.grid.RowNumberer(), {
		header : '考生姓名',
		dataIndex : 'user_RealName',
		sortable : true
	}, {
		header : '性别',
		dataIndex : 'user_Sex',
		sortable : true
	}, {
		header : '准考证号',
		dataIndex : 'exam_Identity',
		sortable : true
	}, {
		header : '身份证号',
		dataIndex : 'examineeValue_IdentityCard',
		sortable : true
	}, {
		header : '状态',
		dataIndex : 'exam_State',
		renderer : function(value, celmeta, record) {
			if (value == 1) {
				return "未入场";
			} else if (value == 2) {
				return "已进场";
			} else if (value == 3) {
				return "晚场";
			} else if (value == 4) {
				return "早退";
			} else if (value == 5) {
				return "作弊";
			}
		},
		sortable : true
	} ]);
	applySearch.lcm = new Ext.grid.ColumnModel([ new Ext.grid.RowNumberer(), {
		header : '考试名称',
		dataIndex : 'exam_Name',
		sortable : true,
		width : 30
	}, {
		header : '考场名称',
		dataIndex : 'position_Name',
		sortable : true,
		width : 20
	} ]);
	applySearch.lstore = new Ext.data.JsonStore({
		url : 'conduction/SearchExamInfomation.action',
		totalProperty : 'total',
		root : 'positions',
		fields : [ {
			name : "positionQ_Id",
			mapping : 'positionQ_Id',
			type : 'int'
		}, {
			name : "exam_Name",
			mapping : 'exam_Name',
			type : 'string'
		}, {
			name : "position_Name",
			mapping : 'position_Name',
			type : 'string'
		} ]
	});
	applySearch.store = new Ext.data.JsonStore({
		url : 'conduction/CheckPositionForConduction',
		totalProperty : 'total',
		root : 'examinees',
		fields : [ {
			name : "user_Id",
			mapping : 'user_Id',
			type : 'int'
		}, {
			name : "user_RealName",
			mapping : 'user_RealName',
			type : 'String'
		}, {
			name : "user_Sex",
			mapping : 'user_Sex',
			type : 'string'
		}, {
			name : "exam_Identity",
			mapping : 'exam_Identity',
			type : 'string'
		}, {
			name : "examineeValue_IdentityCard",
			mapping : 'examineeValue_IdentityCard',
			type : 'string'
		}, {
			name : "exam_State",
			mapping : 'exam_State',
			type : 'int'
		} ]
	});
	applySearch.monitorstore = new Ext.data.JsonStore({
		url : 'conduction/CheckMonitorsForConduction',
		totalProperty : 'total',
		root : 'monitors',
		fields : [ {
			name : "user_Id",
			mapping : 'user_Id',
			type : 'int'
		}, {
			name : "user_RealName",
			mapping : 'user_RealName',
			type : 'String'
		}, {
			name : "user_Sex",
			mapping : 'user_Sex',
			type : 'string'
		}, {
			name : "monitor_Identity",
			mapping : 'monitor_Identity',
			type : 'string'
		} ]
	});

	applySearch.BigTypes = new Ext.data.JsonStore({
		url : 'public/showBigList.action',
		totalProperty : 'total',
		root : 'bigtypes',
		fields : [ {
			name : "big_Id",
			type : 'int'
		}, {
			name : "big_Name",
			type : 'string'
		} ]
	});
	applySearch.SmallTypes = new Ext.data.JsonStore({
		url : 'public/showSmallList.action',
		totalProperty : 'total',
		root : 'smalltypes',
		baseParams : {
			start : 0
		},
		fields : [ {
			name : "small_Id",
			mapping : 'small_Id',
			type : 'int'
		}, {
			name : "small_Name",
			mapping : 'small_Name',
			type : 'string'
		} ]
	});
	applySearch.LPanel = new Ext.grid.GridPanel({
		columnWidth : .35,
		cm : applySearch.lcm,
		store : applySearch.lstore,
		frame : true,
		loadMask : true,
		height : 480,
		autoScroll : true,
		viewConfig : {
			columnsText : '选择显示列',
			forceFit : true
		},
		tbar : new Ext.Toolbar([ '-', {
			id : 'applySearch_search_bigType',
			fieldLabel : '考试类型',
			allowBlank : false,
			emptyText : '请选择类型名查询',
			blankText : '对不起，请选择考试类型',
			xtype : 'combo',
			mode : 'remote',
			triggerAction : 'all',
			valueField : 'big_Id',
			displayField : 'big_Name',
			pageSize : 8,
			width : 120,
			minListWidth : 300,
			store : applySearch.BigTypes
		}, '-', {
			id : 'applySearch_search_smallType',
			fieldLabel : '考试类型细节',
			allowBlank : false,
			emptyText : '请选择类型细节',
			blankText : '对不起，请选择类型细节进行查询',
			name : 'examValue.exam_Type',
			xtype : 'combo',
			mode : 'local',
			triggerAction : 'all',
			valueField : 'small_Id',
			displayField : 'small_Name',
			pageSize : 8,
			width : 120,
			minListWidth : 300,
			store : applySearch.SmallTypes
		} ])
	});
	applySearch.RPanel = new Ext.grid.GridPanel({
		columnWidth : .65,
		cm : applySearch.cm,
		frame : true,
		store : applySearch.store,
		loadMask : true,
		height : 480,
		autoScroll : true,
		viewConfig : {
			columnsText : '选择显示列',
			forceFit : true
		},
		tbar : new Ext.Toolbar(["-", {
			text : "查询监考人员",
			handler : function() {
				Ext.Ajax
				.request({
					url : 'conduction/CheckMonitorsForConduction',
					method : 'post',
					success : function(
							response) {
						var obj = Ext
								.decode(response.responseText);
						if (obj.success == true) {
							var objs=eval(obj.monitors);
							var obj1=objs[0];
							var obj2=objs[1];
							applySearch.showPanel = new Ext.FormPanel({
								defaultType : 'displayfield',
								width :400,
								labelAlign : 'center',
								constrain : true,
								constrainHeader : true,
								bodyStyle : {
									padding : '30px'
								},
								viewConfig : {
									forceFit : true
								},
								items : [{
									fieldLabel : '监考人员姓名',
									value :obj1.user_RealName
								},{
									fieldLabel : '性别',
									value :obj1.user_Sex
								},{
									fieldLabel : '员工号',
									value :obj1.monitor_Identity
								},{
									fieldLabel : '监考人员姓名',
									value :obj2.user_RealName
								},{
									fieldLabel : '性别',
									value :obj2.user_Sex
								},{
									fieldLabel : '员工号',
									value :obj2.monitor_Identity
								}],
								buttonAlign : 'center',
								buttons : [{
											text : '退出',
											handler : function() {
												applySearch.showWindow.close();
											}

										}]
							});

							applySearch.showWindow = new Ext.Window({
								title : '监考人员信息窗口',
								width : 400,
								autoHeight : true,
								modal : true,
								resizable : false,
								animateTarget : 'target',
								items : [applySearch.showPanel]
							});
							applySearch.showWindow.show();
						} else {
							Ext.Msg.alert(
									"提示",
									"显示失败");
						}
					},
					failure : function(
							response) {
					}
				});
				
			}
		}])
	});
	applySearch.Main = new Ext.Panel({
		title : '考生人员安排',
		id : 'applySearchMainPanel',
		deferredRender : true,
		closeAction : 'hide',
		cm : applySearch.cm,
		store : applySearch.store,
		loadMask : true,
		autoWidth : true,
		closable : true,
		layout : 'column',
		viewConfig : {
			forceFit : true
		},
		items : [ applySearch.LPanel, applySearch.RPanel ]
	});
	Ext.getCmp("applySearch_search_bigType").on('select', function(combo) {
		applySearch.SmallTypes.load({
			params : {
				big_Id : combo.getValue(),
				limit : 10
			}
		});
	});
	Ext.getCmp("applySearch_search_smallType").on('select', function(combo) {
		applySearch.lstore.load({
			params : {
				small_Id : combo.getValue(),
			}
		});
	});
	applySearch.LPanel.on('rowdblclick', function(grid, rowindex, event) {
		var record = grid.getStore().getAt(rowindex);
		applySearch.positionQ_Id = record.get("positionQ_Id");
		applySearch.store.load({
			params : {
				position_Id : applySearch.positionQ_Id
			}
		});
	});
	applySearch.menu = new Ext.menu.Menu({
		id : 'applySearch_Menu',
		items : [ {
			id : 'applySearchMenu',
			handler : function() {
				examineePanelApply.Main.show();
				examineePanelApply.lstore.load({
					params : {
						unit_Id : applySearch.unit_Id
					}
				});
			}
		} ]
	});
};
Ext.onReady(applySearch.init);